<?php

/*
 * 	Codificado: 02-Noviembre-2011, 01:18
	Estado: Ajustado_Modelo_Actual(X) Funcionando()
 */

class Movimientos_Model extends CI_Model{

	private $table = 'Movimientos';

	function _required($required, $data)
	{
		foreach($required as $field)
		if(!isset($data[$field])) return false;

		return true;
	}

	 
	function Insertar($options = array()) {


		$this->db->insert($this->table, $options);
		return $this->db->insert_id();

	}

	function Editar($options = array()) {
		if(!$this->_required(array('Id'),$options))
		return FALSE;

		unset($options['submit'] );

		if(isset($options['IdPersona']))
		$this->db->set('IdPersona', $options['IdPersona']);

		if(isset($options['IdConvenio']))
		$this->db->set('IdConvenio', $options['IdConvenio']);

		if(isset($options['Ano']))
		$this->db->set('Ano', $options['Ano']);

		if(isset($options['Periodo']))
		$this->db->set('Periodo', $options['Periodo']);

		if(isset($options['Ano']))
		$this->db->set('Ano', $options['Ano']);

		if(isset($options['Periodo']))
		$this->db->set('Periodo', $options['Periodo']);

		if(isset($options['PaisOrigen']))
		$this->db->set('PaisOrigen', $options['PaisOrigen']);

		if(isset($options['CiudadOrigen']))
		$this->db->set('CiudadOrigen', $options['CiudadOrigen']);

		if(isset($options['InstitucionOrigen']))
		$this->db->set('InstitucionOrigen', $options['InstitucionOrigen']);

		if(isset($options['SectorInstitucionOrigen']))
		$this->db->set('SectorInstitucionOrigen', $options['SectorInstitucionOrigen']);

		if(isset($options['PaisDestino']))
		$this->db->set('PaisDestino', $options['PaisDestino']);

		if(isset($options['CiudadDestino']))
		$this->db->set('CiudadDestino', $options['CiudadDestino']);

		if(isset($options['InstitucionDestino']))
		$this->db->set('InstitucionDestino', $options['InstitucionDestino']);

		if(isset($options['SectorInstitucionDestino']))
		$this->db->set('SectorInstitucionDestino', $options['SectorInstitucionDestino']);

		if(isset($options['Duracion']))
		$this->db->set('Duracion', $options['Duracion']);

		if(isset($options['CiudadDestino']))
		$this->db->set('CiudadDestino', $options['CiudadDestino']);

		if(isset($options['DuracionTipo']))
		$this->db->set('DuracionTipo', $options['DuracionTipo']);

		if(isset($options['SalidaCiudad']))
		$this->db->set('SalidaCiudad', $options['SalidaCiudad']);

		if(isset($options['SalidadFecha']))
		$this->db->set('SalidadFecha', $options['SalidadFecha']);

		if(isset($options['RetornoCiudad']))
		$this->db->set('RetornoCiudad', $options['RetornoCiudad']);

		if(isset($options['RetornoFecha']))
		$this->db->set('RetornoFecha', $options['RetornoFecha']);

		if(isset($options['Remuneracion']))
		$this->db->set('Remuneracion', $options['Remuneracion']);

		if(isset($options['Moneda']))
		$this->db->set('Moneda', $options['Moneda']);

		if(isset($options['Observaciones']))
		$this->db->set('Observaciones', $options['Observaciones']);

		$this->db->where('Id', $options['Id']);
		$this->db->update($this->table, $options);

		return $this->db->affected_rows();
	}

	function Eliminar($options = array()) {

		$this->db->where('Id', $options['Id']);
		$this->db->delete($this->table);

		if($data['error'] = $this->db->_error_message());

		return $data;

	}

	function Ver($options = array()) {

		$this->db->where('Id', $options['Id']);
		$query = $this->db->get($this->table);

		if(isset($options['Id']))
		return $query->row_array(0);

		return $query->result_array();
	}

	function Listar($options = array()) {

		$this->db->select('Id,IdPersona,Ano,PaisOrigen,PaisDestino,IdTipo' );
		if(isset($options['limit']) && isset($options['offset']))
		$this->db->limit($options['limit'], $options['offset']);
		else if(isset($options['limit']))
		$this->db->limit($options['limit']);
			
		$query = $this->db->get($this->table);
		if(isset($options['count']))
		return $query->num_rows();
			
		return $query->result_array();
	}

	function BuscarPorPersona($options = array()) {
		if ($this->_required(array('IdPersona'), $options)) return FALSE ;

		$this->db->where('IdPersona', $options['IdPersona']);
		$query = $this->db->get($this->table);

		return $query->result_array();
	}
	function BuscarPorConvenio($options = array()) {
		if ($this->_required(array('IdConvenio'), $options)) return FALSE ;

		$this->db->where('IdConvenio', $options['IdConvenio']);
		$query = $this->db->get($this->table);

		return $query->result_array();
	}

	function BuscarPorPaisDestino($options = array()) {
		if ($this->_required(array('UnidadLocal'), $options)) return FALSE ;

		$this->db->where('UnidadLocal', $options['UnidadLocal']);
		$query = $this->db->get($this->table);

		return $query->result_array();
	}

	function BuscarPorPaisOrigen($options = array()) {
		if ($this->_required(array('Estado'), $options)) return FALSE ;

		$this->db->where('Estado', $options['Estado']);
		$query = $this->db->get($this->table);

		return $query->result_array();
	}

	function BuscarPorAno($options = array()) {
		if ($this->_required(array('Ano'), $options)) return FALSE ;

		$this->db->where('Ano', $options['Ano']);
		$query = $this->db->get($this->table);

		return $query->result_array();
	}

}
